SQL count和sum的使用 |
您所在的位置:网站首页 › count 列名 › SQL count和sum的使用 |
(1)sum:不为NULL的列值总和 sum(字段值):对该列中不为NULL的值求和,如果列值为0,也会纳入统计。 (2)count:统计满足条件的行数 count(0)=count(1)=count(*) --不忽略null值和空值 count(列名) --忽略null值 count(*):对所有的列进行扫描,包括NULL和重复项,不能和DISTINCT一起使用,只返回表中的行数,它只需要找到属于表的数据块头,计算一下行数,不需要读取数据列中的数据。 执行效率: (1)列名为主键,count(列名)会比count(1)快 (2)列名不为主键,count(1)会比count(列名)快 (3)如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*) (4)如果有主键,则 select count(主键)的执行效率是最优的 (5)如果表只有一个字段,则 select count(*)最优。 count和sum与if的联合使用: (1)select SUM(IF(字段名=“XXX”,1,0)) where aaa。 语句执行,先根据aaa条件筛选数据,再根据IF统计,如果字段为xxx,那该条记录累加1,否则累加0。 (2)select count(IF(字段名= “XXX”,1,0)) where aaa 语句执行,先根据aaa条件筛选,在根据IF统计,如果字段为XXX,那么就累加count(1),但是如果不满足就是count(0),其实count(1)和count(0)是一个意思,最终不管字段名为什么,统计数都是一样的。 (3)修改:select count(IF(字段名= “XXX”,1,null)) where aaa。符合条件就累加1,不符合条件就不累加。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |